import axios from "axios";
import store from "../store";

const instance = axios.create({
    // baseURL: 'http://192.168.113.249:8081/cms'
    baseURL: '/api'
})

// 添加请求拦截器
instance.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么
    // console.log('请求之前...(后面在这里携带token)');
    const token = localStorage.getItem('x-auth-token')
    if (token) {
        // 判断是否存在token，如果存在的话，则每个请求的请求头上都加上token
        config.headers['x-auth-token'] = token
    }
    return config;
}, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
});

// 添加响应拦截器
instance.interceptors.response.use(function (response) {
    // 对响应数据做点什么
    // console.log('响应之前', response);
    if (response.data.code != 0 && response.data.code != 400 && response.data.code != 407) {
        // 提示组件使用
        store.dispatch('showToast/asyncChangeIsShowToast', {
            isShow: true,
            title: response.data.message,
            type: "danger",
        })
        // alert(response.data.message)
        // console.log(response.data.message);
        return // 默认返回undefined
    }
    return response.data; // 直接返回data红获取的数据
}, function (error) {
    // 对响应错误做点什么

    return Promise.reject(error);
});

export default instance